{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import gc\n",
    "from multiprocessing import Pool\n",
    "from glob import glob\n",
    "import utils\n",
    "import EDA\n",
    "from matplotlib import pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████| 20/20 [00:04<00:00,  4.72it/s]\n"
     ]
    }
   ],
   "source": [
    "train = utils.load_train()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f3c341c5ba8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "train.EXT_SOURCE_2.hist(bins=50)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def predictionDist(y, feature, feature_name='feature_name'):\n",
    "    import matplotlib.pyplot as plt\n",
    "    \n",
    "    sub = y.to_frame('y')\n",
    "    sub[feature_name] = feature\n",
    "    y0 = sub[sub.y==0]\n",
    "    y1 = sub[sub.y==1]\n",
    "    \n",
    "    y0[feature_name].name = 'TARGET:0'\n",
    "    y0[feature_name].plot(kind='hist', legend=True, bins=50)\n",
    "    #y0[feature_name].hist(bins=50)\n",
    "    \n",
    "    y1[feature_name].name = 'TARGET:1'\n",
    "    y1[feature_name].plot(kind='hist', legend=True, bins=50)\n",
    "    #y1[feature_name].hist(bins=50)\n",
    "    \n",
    "    plt.legend()\n",
    "    plt.xlim(feature.min(), feature.max())\n",
    "    plt.xlabel(f'{feature_name}')\n",
    "    plt.title(f'{feature_name} Distribution', fontsize=13, alpha=0.5)\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nSUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f3bfa983e80>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "predictionDist(train.TARGET, train.EXT_SOURCE_1, 'EXT_SOURCE_1')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZUAAAEXCAYAAABlI9noAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzt3XucVXW9//HXO7zgBUVQUxloyIOK\n98uk/spSM420xDINtcSyKMNT2anQ6pGczJOdOnEyPRYeTLEEkTpKiRkqZpqgoHgBLVFRBm8IpnlB\nLn5+f6zv4GLYM7NnZu09e2bez8djHrP2d33XWp+9GdZnf7/ftb5LEYGZmVkR3tHVAZiZWc/hpGJm\nZoVxUjEzs8I4qZiZWWGcVMzMrDBOKmZmVhgnFTMzK4yTilkvIunbkgYXvM+xkvZOy/WSvlfk/tN+\n95V0VtH7teLJNz9aWySdAQwG1jVbNSkinpd0GrAmIqblttkD+DhwGfDl3DabpN9rmwoi4j/aOP57\ngPcA2wIBrAT+GhEP5+rsBhwG7JSKngPujIi/N3sfT0TEHSXe3xMRcYek/sDXgDXpWGuApcDNEfFS\nbhsBDcCBwMD0flYC90fE/FRnfG4/TVZFxE/beL/DgPcC7yT74vcCcGtEPNXKNvljBfAP4In0Of2z\nteO1sL8jgCERMbmd29UDp0fE99t7zNw+TgDeiogZHd2HdZ1N2q5iBsCfm5+Mc24AzpK0f0QskNQP\nOB6YGRH/ANYnDUnHA++IiOvLOaikfYDDganAMrK/2V3I/e1KOgA4DrgZ+E0q3hc4WdKNEXF/O95n\nk59HxCuStgJOAkYCV+bWjwR2BWYCj5Od0HcBjgDm5+pdHRFPt/PYWwD3AE8Cq4GDgNMkXRoRL7ey\n3dUR8XRKeO9MsXxJ0qSIWNnOGNokqU9ENP+iYb2ck4p1WkS8Kun3wMclPU12gn8yIh4oYPeDgaci\nojG9XgOs/8YuaTPgw2Stkntz292bEsKHJS2MiNUdOXhEvCZpEfCh3DGHAPsDV0bEklz1Zbyd1Dos\nIh5sVnSvpCPJklZrSaVp+wCek3Qd8CXgSOC3KfbxwBUp+fQHPgYMSpu+lOrtBLw/q65vp3WXAe8C\nPkCWNA8B3gQulfQ14LZ83JL2T8fdDPgb2ReM1c1jSK/rSa0bSe8j+0JAU5cacFEq+0BEXJzWbUr2\nbzKc7Dz2NHBTU9JNrc9ngf5kyf81stbmo219ftY5TipWiIh4VNJC4EyybrLLCtr1U2TJ6oPAEuCZ\niFiVWz8Y6As0PxGTyo5IdR7vyMElbQ3sBazIFQ8DXmmWUCpG0jvJWi8vtGe7iFgn6VHggBaqHEWW\npKYAbwE7kHXPPSxpe5p1f0l6F9lJuh/w81YO/Q5gN7K/gU2AT5El/t+XEfNdknagWfdX1vjawAiy\n5Pe/wKr0+lRJv4yIt1Kd/chauNOAQ4ETJP1XRKxpKw7rOCcVK9cHJL03XxARFzWr8yTZGMPciHij\niINGxEJJa8hOjAcBW0p6iuyb7wvAVqnqKyU2bxpL2KrEuraMTd1Im5GdzKfl1m2V23dbPi3prdzr\npyPimnKDSK2tk4G7ImJFW/VLeAXYsoV164Ctge0iYjnwfBn7ewu4JSLWtlHvlqbkL2k22Qn/D1HA\nIG76d9kPmBIRr6SyPwLjyFpdS1PVhbnW0HyyxDaQbLzNKsRJxcp1RytjKqRxlI8AdwEHS3ogIp4p\n4sBpsP3v6Tjbk3WvnSrpZ2TdGgDbkA2U5/VLv5vqvAX0KXGIPmld3qVpTGUX4BRgO+DF3P76UZ5f\nd2BMBVj/mZ5O1sq6tSP7IPtcXm9h3Syy7qxTUjfiIrJk0FpX4T/LSCiQXSiQX96ELLm9Vrp6u2yV\n9rf+womIWC3pNbL3uz7WZush+5JgFeRLiq3T0jfHkcDjETGLLLF8IvV7FyoiXgTmkHXD9CX7Vvom\nsE+J6vukdU3fXP8BDCgR+3bkTlDNjvcMcBvwsdz7eQzYJnUHVUQa7/gc8FhEzOzIN3xJfYA9yFqQ\nG4mI1yLipjROMQmoB97XtLqF3ZYbR/9my2t5O7mtZsOTe/ME3dYxXkv7W3+MlBS3onSL1arIScWK\ncDBZf/yN6fUdZP3cR3d2x5IOkLSXpC3T623ILuVdHhFvpG/VfwIOk9QgafP0cxDZJcZ/yn3zfgAY\nLml3SX3SiehIspNYa2MuD5BdIHAIQGp5LABOlLSHpM2U2UXSqQW85+3JEspDEfGnDmyvNA5zItmJ\n9vYW6u0tabuUWN8k6w5rarG9CmybElNHHJX+HbYiG9d6MJcYnwH2S/8G/YH/12zbV4GmuDaS9vMA\n8EFJ/VKy/zBZS3JZB+O1grj7y8p1uKTDmpVNJ/uG/yHgN0196BHxlqT/A74o6e8RsbgTx11FdjI/\nLp08VpEN2K8fl4iI+ZJeJUsix6Ti54HpEfG3XL2nJE0n6/I5gewEuozsUtz84P8G0vv5M3CspPlp\nvOgGsuR2ONnJew3pPpVmm39GUvNv3j9t7XjpfWwDHCrp0Fz5H0pcGVbqWEE2AP8E8IumcYcSdiJL\n/FuSJZW/A39N6xYBewPfSCf3X7Zy3ObeImvNfRnYnOzqr5tz62eStWzHAcvJEvSI3Pr7gHcD41Je\n+c8Sx7iZ7O9uDFn35VKyMZbm3ZhWZb750czMCuPuLzMzK4y7v6xLSdoWGNvC6gcj4g/VjKca0gD/\naS2s/ktE/KWa8ZgVyd1fZmZWmF7XUtl+++2jvr6+q8MwM+tW5s+f/2JE7NBWvV6XVOrr65k3b15X\nh2Fm1q2kmSza5IF6MzMrjJOKmZkVxknFzMwK0+vGVEpZs2YNjY2NrFrV2k3OVq6+fftSV1fHppsW\nPvWXmdU4JxWgsbGRfv36UV9fX+q5DdYOEcGKFStobGxk6NChXR2OmVWZu7+AVatWMXDgQCeUAkhi\n4MCBbvWZ9VIVSyqSrpD0gqSHS6z7hqRIs7E2zap6saTFkh6UdGCu7mhJj6Wf0bnygyQ9lLa5uKUZ\nTdsRb2c2txx/lma9VyVbKley4cyjAEgaTDYzav7BRR8he0TrMLJZRy9LdQcA55PNUnswcL6k7dI2\nl6W6TdttdCwzM6uuio2pRMQdkupLrJoAfIts6vAmI4HJ6TkJcyT1l7Qz2XMYZkXESgBJs4ARkm4H\ntomIu1P5ZLKpzG8qIvb6c29su1I7LLnouFbXr1ixgqOOOgqA5557jj59+rDDDtmNq/fccw833ngj\nn/jEJ3jkkUfYY489sn0uWcLw4cPZfffdWb16NQ0NDUyaNGn94Pg999zDt771LZYtW0a/fv3Yeeed\nueiii9hnn30YP348l19++fpjAJx33nn88Ic/BGDx4sUMGjSILbbYgn333ZfJkyfnw2XmzJmcc845\nrFu3ji9+8Yt885vfLOaDMrNur6oD9ZKOB5ZFxAPNukjyz5UGaExlrZU3lihv6bhjyFo1DBkypBPv\noDIGDhzIggULABg/fjxbb7013/jGN9avnzJlCocddhhTp05l/Pjx68t33XVXFixYwLp16zj66KOZ\nNm0ap512Gs8//zwnn3wy11xzDe99b/ZY+TvvvJPHH3+cffbJHpB4zjnnbHAMgE996lMAHHHEEfzk\nJz+hoaFho1jXrFnD2WefzezZs9lpp51oaGhg5MiR7LbbboV+JmZFau2LYltf+qx9qjZQn57c9x3g\ne6VWlyiLDpSXFBETI6IhIhry3867g1dffZW77rqLSZMmMXXq1JJ1+vTpw8EHH8yyZdlD7y655BJG\njx69PqEAHHbYYZxwwgmdjmfOnDkMHz6cd73rXWy++eacfPLJ3HDDDW1vaGa9QjWv/toVGAo8IGkJ\nUAfcJ2knspbG4FzdOrJHjrZWXleivMe5/vrrGTFiBLvtthsDBgzgvvvu26jOqlWrmDt3LiNGZMNK\nCxcu5MADD9yoXt6ECRPYf//92X///TnyyCNbrbt06VKOP/54AJYtW8bgwW//k9TV1a1PZmZmVUsq\nEfFQROwYEfURUU+WGA6MiOeAGcDp6SqwQ4GXI+JZskeGHpOeo70d2aNib07r/inp0HTV1+lsOEbT\nY0yZMoVRo0YBMGrUKKZMmbJ+3eOPP87+++/PwIEDGTJkCPvuu2/JfRxyyCEMHz6cr371q+vLzjnn\nHBYsWMCCBQuYPXt2qzEMHjyYGTNmANl9KM35ai8za1LJS4qnAHcDu0tqlHRmK9Vnkj1PezFwOdmz\nrUkD9BcA96af7zcN2gNnAf+btnmcggbpa8mKFSu47bbb+PznP099fT0//vGPufbaa9ef2JvGVBYv\nXsycOXPWn/j32muvDVo0c+fO5YILLuDll1/udEx1dXUsXfr2MFdjYyO77LJLp/drZj1DxZJKRJwS\nETtHxKYRURcRk5qtr4+IF9NyRMTYiNg1IvaJiHm5eldExL+kn1/lyudFxN5pm7OjBz5tbPr06Zx+\n+uk89dRTLFmyhKVLlzJ06FDuvPPODeo1XdnVdPXW2LFjufLKK/nrX/+6vs7rr79eSEyHHnooixYt\n4qmnnuLNN99k2rRp67vGzMw8TUsJtXI1yJQpUzj33HM3KDvxxBO55pprGDdu3AblJ5xwAuPHj+cv\nf/kL73//+7n22msZN24cy5YtY8cdd2T77bfne997+xqJCRMm8Otf/3r96+uvv56WHl62dOlSxo4d\ny4wZM9h00025+OKLOfroo1m3bh1jxoxh9913L+5Nm3VQR28F8JVhxep1jxNuaGiI5g/peuSRRxg+\nfHgXRdQz+TO1aiv6/jJwUsmTND8iNr7PoBnP/WVmZoVx95eZWQtaav24BdMyt1TMzKwwTipmZlYY\nd3+ZWbdSiQF5K45bKmZmVhi3VEoZv23B+2v9TvbuNvX96NGjmTlzJoMGDVo/u7KZGTip1ITuNPU9\nwOc+9znGjh3LmDFjCvsMzKxncPdXjau1qe8BDj/8cAYMGFDIvsysZ3FSqXG1NvW9mVlrnFRqXK1N\nfW9m1honlRpWi1Pfm5m1xkmlhtXi1PdmZq3x1V+ltHEJcLXU4tT3ACeddBJ33nknK1asoK6ujh/8\n4AecccYZxbxpM+vWPPU9nqa9EvyZWqXUwh31vXFCSU99b2ZmVeekYmZmhXFSSXpbN2Al+bM0670q\nllQkXSHpBUkP58p+LOlRSQ9K+j9J/XPrzpO0WNLfJH04Vz4ilS2WdG6ufKikuZIek3StpM06Gmvf\nvn1ZsWKFT4YFiAhWrFhB3759uzoUM+sClbz660rgEiA/G+Es4LyIWCvpR8B5wDhJewKjgL2AXYBb\nJO2WtrkUOBpoBO6VNCMiFgE/AiZExFRJvwDOBC7rSKB1dXU0NjayfPnyjmxuzfTt25e6urquDsO6\nsVoYjLeOqVhSiYg7JNU3K/tT7uUc4JNpeSQwNSLeBJ6UtBg4OK1bHBFPAEiaCoyU9AjwQeDUVOcq\nYDwdTCqbbropQ4cO7cimZmaW05VjKp8DbkrLg4CluXWNqayl8oHAPyJibbNyMzPrQl1y86Ok7wBr\ngd80FZWoFpROetFK/ZaONwYYAzBkyJB2xWpm1lxr3XO98R6WvKonFUmjgY8CR8XbI+ONwOBctTrg\nmbRcqvxFoL+kTVJrJV9/IxExEZgI2c2PRbwPM+scj5v0TFXt/pI0AhgHHB8R+cmoZgCjJG0uaSgw\nDLgHuBcYlq702oxsMH9GSkazeXtMZjRwQ7Xeh5mZlVbJS4qnAHcDu0tqlHQm2dVg/YBZkhakq7aI\niIXANGAR8EdgbESsS62Qs4GbgUeAaakuZMnp62lQfyAwqVLvxczMylPJq79OKVHc4ok/Ii4ELixR\nPhOYWaL8Cd6+QszMzGqA76g3M7PCOKmYmVlhnFTMzKwwTipmZlYYJxUzMyuMk4qZmRXGScXMzArj\npGJmZoVxUjEzs8I4qZiZWWGcVMzMrDBOKmZmVhgnFTMzK0yXPPnRzHoPP4yrd3FLxczMCuOWiplZ\ngXr78+vdUjEzs8I4qZiZWWGcVMzMrDBOKmZmVhgnFTMzK0zFkoqkKyS9IOnhXNkASbMkPZZ+b5fK\nJeliSYslPSjpwNw2o1P9xySNzpUfJOmhtM3FklSp92JmZuWpZEvlSmBEs7JzgVsjYhhwa3oN8BFg\nWPoZA1wGWRICzgcOAQ4Gzm9KRKnOmNx2zY9lZmZVVrGkEhF3ACubFY8ErkrLVwEn5MonR2YO0F/S\nzsCHgVkRsTIiXgJmASPSum0i4u6ICGBybl9mZtZFqj2m8s6IeBYg/d4xlQ8ClubqNaay1sobS5SX\nJGmMpHmS5i1fvrzTb8LMzEqrlTvqS42HRAfKS4qIicBEgIaGhhbrmVnHeH4va1LtlsrzqeuK9PuF\nVN4IDM7VqwOeaaO8rkS5mZl1oWonlRlA0xVco4EbcuWnp6vADgVeTt1jNwPHSNouDdAfA9yc1v1T\n0qHpqq/Tc/syM7MuUrHuL0lTgCOA7SU1kl3FdREwTdKZwNPASan6TOBYYDHwOvBZgIhYKekC4N5U\n7/sR0TT4fxbZFWZbADelHzMz60IVSyoRcUoLq44qUTeAsS3s5wrgihLl84C9OxOjmZkVy3fUm5lZ\nYZxUzMysME4qZmZWGCcVMzMrjJOKmZkVxknFzMwK46RiZmaFcVIxM7PCOKmYmVlhyrqjXtLeEfFw\n2zXNrKfyTMRWjnJbKr+QdI+kL0vqX9GIzMys2yqrpRIRh0kaBnwOmCfpHuBXETGrotGZmfUgLbX2\nllx0XJUjqZyyx1Qi4jHgu8A44HDgYkmPSvpEpYIzM7PupaykImlfSROAR4APAh+LiOFpeUIF4zMz\ns26k3KnvLwEuB74dEW80FUbEM5K+W5HIzMys2yk3qRwLvBER6wAkvQPoGxGvR8TVFYvOzMy6lXLH\nVG4he8Jiky1TmZmZ2XrlJpW+EfFq04u0vGVlQjIzs+6q3KTymqQDm15IOgh4o5X6ZmbWC5U7pvI1\n4DpJz6TXOwOfqkxIZmbWXZXVUomIe4E9gLOALwPDI2J+Rw8q6RxJCyU9LGmKpL6ShkqaK+kxSddK\n2izV3Ty9XpzW1+f2c14q/5ukD3c0HjMzK0Z7JpR8D7AvcABwiqTTO3JASYOArwANEbE30AcYBfwI\nmBARw4CXgDPTJmcCL0XEv5DdE/OjtJ8903Z7ASOA/5HUpyMxmZlZMcqdUPJqYFdgAbAuFQcwuRPH\n3ULSGrIB/2fJbqQ8Na2/ChgPXAaMTMsA04FLJCmVT42IN4EnJS0GDgbu7mBMZoYnjrTOKXdMpQHY\nMyKisweMiGWSfgI8TTbY/ydgPvCPiFibqjUCg9LyIGBp2natpJeBgal8Tm7X+W3MzKwLlNv99TCw\nUxEHlLQdWStjKLALsBXwkRJVmxKYWljXUnmpY46RNE/SvOXLl7c/aDMzK0u5LZXtgUVpduI3mwoj\n4vgOHPNDwJMRsRxA0u+A9wL9JW2SWit1QNOVZo3AYKBR0ibAtsDKXHmT/DYbiIiJwESAhoaGTre2\nzMystHKTyvgCj/k0cKikLcm6v44C5gGzgU8CU4HRwA2p/oz0+u60/raICEkzgGsk/ZSsxTMMuKfA\nOM3MrJ3KfZ7KnyW9CxgWEbekhNChK60iYq6k6cB9wFrgfrJWxI3AVEk/SGWT0iaTgKvTQPxKsiu+\niIiFkqYBi9J+xjbNTWZmZl2j3Ku/vgCMAQaQXQU2CPgFWSuj3SLifOD8ZsVPkF291bzuKuCkFvZz\nIXBhR2IwM7PilTtQPxZ4H/AKrH9g146VCsrMzLqncsdU3oyI1dntIZAGzD3gbdZN+V4Uq5RyWyp/\nlvRtshsWjwauA35fubDMzKw7KjepnAssBx4CvgjMJHtevZmZ2XrlXv31FtnjhC+vbDhmZtadlXv1\n15OUGEOJiHcXHpGZmXVb7Zn7q0lfskt8BxQfjpmZdWflPk9lRe5nWUT8N9mswmZmZuuV2/11YO7l\nO8haLv0qEpGZmXVb5XZ//VdueS2wBDi58GjMrDC+F8W6QrlXfx1Z6UDMzKz7K7f76+utrY+InxYT\njpmZdWftufrrPWTT0AN8DLiD9ERGMzMzaN9Dug6MiH8CSBoPXBcRn69UYGZm1v2UO03LEGB17vVq\noL7waMzMrFsrt6VyNXCPpP8ju7P+48DkikVlZmbdUrlXf10o6Sbg/anosxFxf+XCMrNy+LJhqzXl\ndn8BbAm8EhE/AxolDa1QTGZm1k2Ve0nx+WRXgO0O/ArYFPg12dMgzcysE1prcS656LgqRtJ55bZU\nPg4cD7wGEBHP4GlazMysmXKTyuqICNL095K2qlxIZmbWXZWbVKZJ+iXQX9IXgFvoxAO7JPWXNF3S\no5IekfT/JA2QNEvSY+n3dqmuJF0sabGkB/OTW0oaneo/Jml0R+MxM7NilDv1/U+A6cBvycZVvhcR\nP+/EcX8G/DEi9gD2Ax4he2TxrRExDLg1vQb4CDAs/YwBLgOQNAA4HzgEOBg4vykRmZlZ12hzoF5S\nH+DmiPgQMKuzB5S0DfAB4AyAiFgNrJY0EjgiVbsKuB0YB4wEJqfutzmplbNzqjsrIlam/c4CRgBT\nOhujmZl1TJtJJSLWSXpd0rYR8XIBx3w3sBz4laT9gPnAV4F3RsSz6ZjPStox1R/EhnOMNaaylso3\nImkMWSuHIUOGFPAWzKrL96NYd1HuHfWrgIdSa+C1psKI+EoHj3kg8K8RMVfSz3i7q6sUlSiLVso3\nLoyYCEwEaGhoKFnHzMw6r9ykcmP6KUIj0BgRc9Pr6WRJ5XlJO6dWys7AC7n6g3Pb1wHPpPIjmpXf\nXlCMZmbWAa0mFUlDIuLpiLiqqANGxHOSlkraPSL+BhwFLEo/o4GL0u8b0iYzgLMlTSUblH85JZ6b\ngf/IDc4fA5xXVJxmZtZ+bbVUrifrqkLSbyPixIKO+6/AbyRtBjwBfJbsSrRpks4EngZOSnVnAscC\ni4HXU10iYqWkC4B7U73vNw3am5lZ12grqeTHLd5d1EEjYgHZtC/NHVWibgBjW9jPFcAVRcVlZmad\n09Z9KtHCspmZ2UbaaqnsJ+kVshbLFmmZ9DoiYpuKRmdmZt1Kq0klIvpUKxAzM+v+2vM8FTMzs1Y5\nqZiZWWHKvfnRzCrMU7FYT+CWipmZFcZJxczMCuPuL7MqcheX9XROKtalWjvJLrnouCpGYmZFcPeX\nmZkVxknFzMwK46RiZmaFcVIxM7PCeKDejJYvGOjoxQK+yst6K7dUzMysMG6pmHWQWyNmG3NLxczM\nCuOkYmZmhXFSMTOzwjipmJlZYbpsoF5SH2AesCwiPippKDAVGADcB3wmIlZL2hyYDBwErAA+FRFL\n0j7OA84E1gFfiYibq/9OrCfzYLxZ+3RlS+WrwCO51z8CJkTEMOAlsmRB+v1SRPwLMCHVQ9KewChg\nL2AE8D8pUZmZWRfpkpaKpDrgOOBC4OuSBHwQODVVuQoYD1wGjEzLANOBS1L9kcDUiHgTeFLSYuBg\n4O4qvQ2rMM9gbNb9/h90VffXfwPfAvql1wOBf0TE2vS6ERiUlgcBSwEiYq2kl1P9QcCc3D7z22xA\n0hhgDMCQIUOKexfWrbgry6zyqt79JemjwAsRMT9fXKJqtLGutW02LIyYGBENEdGwww47tCteMzMr\nX1e0VN4HHC/pWKAvsA1Zy6W/pE1Sa6UOeCbVbwQGA42SNgG2BVbmypvktzEzsy5Q9ZZKRJwXEXUR\nUU820H5bRJwGzAY+maqNBm5IyzPSa9L62yIiUvkoSZunK8eGAfdU6W2YmVkJtTT31zhgqqQfAPcD\nk1L5JODqNBC/kiwRERELJU0DFgFrgbERsa76YVst8biJWdfq0qQSEbcDt6flJ8iu3mpeZxVwUgvb\nX0h2BZm1oLtdOWJm3ZvvqDczs8LUUveXWdnczWVWm5xUrOKcAMx6D3d/mZlZYZxUzMysME4qZmZW\nGCcVMzMrjAfqbSO+t8XMOsotFTMzK4yTipmZFcbdX1YY349iZm6pmJlZYZxUzMysME4qZmZWGCcV\nMzMrjJOKmZkVxld/Wbv4Ci8za42TSi/mBGFmRXP3l5mZFcZJxczMClP1pCJpsKTZkh6RtFDSV1P5\nAEmzJD2Wfm+XyiXpYkmLJT0o6cDcvkan+o9JGl3t92JmZhvqipbKWuDfImI4cCgwVtKewLnArREx\nDLg1vQb4CDAs/YwBLoMsCQHnA4cABwPnNyUiMzPrGlVPKhHxbETcl5b/CTwCDAJGAlelalcBJ6Tl\nkcDkyMwB+kvaGfgwMCsiVkbES8AsYEQV34qZmTXTpWMqkuqBA4C5wDsj4lnIEg+wY6o2CFia26wx\nlbVUXuo4YyTNkzRv+fLlRb4FMzPL6bJLiiVtDfwW+FpEvCKpxaolyqKV8o0LIyYCEwEaGhpK1unO\nfGmwWe/U0v/9rnyYXpe0VCRtSpZQfhMRv0vFz6duLdLvF1J5IzA4t3kd8Ewr5WZm1kWq3lJR1iSZ\nBDwSET/NrZoBjAYuSr9vyJWfLWkq2aD8yxHxrKSbgf/IDc4fA5xXjffQVdwiMbNa1xXdX+8DPgM8\nJGlBKvs2WTKZJulM4GngpLRuJnAssBh4HfgsQESslHQBcG+q9/2IWFmdt9A5fga8mfVUVU8qEXEn\npcdDAI4qUT+AsS3s6wrgiuKiK45bFWbWG3nurxrjZGRm3ZmnaTEzs8I4qZiZWWHc/VUGd0mZmZXH\nSSVx4jAz67xel1QeWvayE4iZWYV4TMXMzArjpGJmZoVxUjEzs8I4qZiZWWGcVMzMrDBOKmZmVphe\nd0mxmdWWJX1PbVf9+lXXVCgSK4KTipm1W0uJoKUTfnsTR0eO3RFOUMVzUjGzkjpy8i7yhG/dk5OK\ndbnWTkT+Jtk+Pqm3T0c+L/9Ntq7XJZV99ATzSvwh9aQ/lPZ2TVRLrZ7wajWp1ern1dvV6v+vWtHr\nkkp71eoJpyOq9V5qtf+8Ox7frLtxUkm6uv+4GgOcrfHJ06xzetIX0M5wUqkRPqmbWU/gpGJmVmHV\nviCgtcd7LLnouA7vtxzd/o56SSMk/U3SYknndnU8Zma9WbduqUjqA1wKHA00AvdKmhERi7o2MjOz\nzumuV5l166QCHAwsjognACRMQhVcAAAH+UlEQVRNBUYCTipm1iPVerLp7kllELA097oROKR5JUlj\ngDHp5Zv691cerkJsHbE98GJXB9ECx9Yxjq3jajm+Gozto00LrcamH3X4AO8qp1J3TyoqURYbFURM\nBCYCSJoXEQ2VDqwjHFvHOLaOqeXYoLbjc2wt6+4D9Y3A4NzrOuCZLorFzKzX6+5J5V5gmKShkjYD\nRgEzujgmM7Neq1t3f0XEWklnAzcDfYArImJhG5tNrHxkHebYOsaxdUwtxwa1HZ9ja4EiNhqCMDMz\n65Du3v1lZmY1xEnFzMwK0yOTSltTt0jaXNK1af1cSfU1Ft8HJN0naa2kT9ZYbF+XtEjSg5JulVTW\ntetViu1Lkh6StEDSnZL2rJXYcvU+KSkkVe2SzzI+tzMkLU+f2wJJn6+V2FKdk9Pf3EJJVbvDr4zP\nbULuM/u7pH9UK7Yy4xsiabak+9P/12OrElhE9KgfsgH7x4F3A5sBDwB7NqvzZeAXaXkUcG2NxVcP\n7AtMBj5ZY7EdCWyZls+q1mdXZmzb5JaPB/5YK7Glev2AO4A5QEOtxAacAVxSrb+zdsY2DLgf2C69\n3rFWYmtW/1/JLhSqpc9uInBWWt4TWFKN2HpiS2X91C0RsRpomrolbyRwVVqeDhwlqdSNlF0SX0Qs\niYgHgbeqFFN7YpsdEa+nl3PI7g2qldheyb3cihI3wnZVbMkFwH8Cq6oUV3ti6wrlxPYF4NKIeAkg\nIl6oodjyTgGmVCWyTDnxBbBNWt6WKt3D1xOTSqmpWwa1VCci1gIvAwOrEl158XWV9sZ2JnBTRSN6\nW1mxSRor6XGyk/dXaiU2SQcAgyPiD1WKqUm5/6Ynpi6S6ZIGl1hfCeXEthuwm6S7JM2RNKKGYgMg\ndQEPBW6rQlxNyolvPPBpSY3ATLLWVMX1xKRSztQtZU3vUiFdeey2lB2bpE8DDcCPKxpR7pAlykpN\nyXNpROwKjAO+W/GoMq3GJukdwATg36oUT145n9vvgfqI2Be4hbdb8ZVWTmybkHWBHUHWGvhfSf0r\nHBe07//pKGB6RKyrYDzNlRPfKcCVEVEHHAtcnf4WK6onJpVypm5ZX0fSJmRNw5VVia62p5YpKzZJ\nHwK+AxwfEW/WUmw5U4ETKhrR29qKrR+wN3C7pCXAocCMKg3Wt/m5RcSK3L/j5cBBVYirrNhSnRsi\nYk1EPAn8jSzJ1EJsTUZR3a4vKC++M4FpABFxN9CXbLLJyqrWwFIVB7A2AZ4ga442DWDt1azOWDYc\nqJ9WS/Hl6l5JdQfqy/nsDiAbIBxWg/+uw3LLHwPm1UpszerfTvUG6sv53HbOLX8cmFNDsY0ArkrL\n25N1+QyshdhSvd2BJaQbyav1U+ZndxNwRloeTpZ0Kh5n1T6EKn/gxwJ/Tye/76Sy75N9s4YsY18H\nLAbuAd5dY/G9h+ybyGvACmBhDcV2C/A8sCD9zKih2H4GLExxzW7txF7t2JrVrVpSKfNz+2H63B5I\nn9seNRSbgJ+SPSPpIWBUrcSWXo8HLqpWTO387PYE7kr/rguAY6oRl6dpMTOzwvTEMRUzM+siTipm\nZlYYJxUzMyuMk4qZmRXGScXMzArjpGJmZoVxUrFeSdK63LTlCySdK6mPpPmSPpCr9ydJJ6VHJCyQ\n9HSzaeLrW9j/59I0/A9KeljSyFQuSd+V9FiaLn22pL1y273abD9nSLokLY+XtCwdd5GkU5rV/Yak\nR9PxHpB0eiq/PU2R3hTz9FY+ly57tIH1DN36GfVmnfBGROzfvFDSl8nmlzoQ+CQQEXEd2c2ySDqD\n7MbFs1vasaQ6smlsDoyIlyVtDeyQVo8F3gvsFxGvSzqGbMqWvSKinNmLJ0TETyQNA+ZLmh4RayR9\nCTgaODgiXpG0LRtOU3NaRMwrY//3p/f3uqSzyCbm/FQZ25kBTipmG4iIuZL+Snan9KlkJ+r22hH4\nJ/Bq2uerTctkE10eEenxARHxp3S804BJ7YjzMUmvA9sBLwDfBo6MNP1/RLxMByaGjIjZuZdzgE+3\ndx/WuzmpWG+1haQFudc/jIhr0/J5ZHNM/XdELO7Avh8gm8rmSUm3Ar+LiN9L2gbYKiIeb1Z/HrBX\n8520JrWkHouIFyT1A/qV2G/ebyS9kZZnRcQ3yzhMNR9tYD2Ek4r1ViW7v5IPkD1jZ++O7Dgi1qXn\nfrwHOAqYIOkgsjmsShGtP/4gv+4cSV8ge+Jf07NF2toeyu/+ynb49qMNDi93GzPwQL3ZBiRtRTaO\n8EFgh44+1zsy90TED8lmwj4xdU29JundzaofSDZhIsAbkjbLrRsAvJh7PSEidicb55gsqW8r++2Q\nLnq0gfUQTipmG/oe2aMQHgW+TNbK6NueHUjaJXVPNdkfeCot/xi4WNIWqe6HgMOAa9L6P5PGMVKd\nk8lmDt5ARPyOrNtsdCr6IXBp6mJD0jaSxrQn7rTdAcAvyRJKtR7daz2Iu7+st2o+pvJHYDLZ80T2\nA4iIBZJuJhtc//d27HtT4CeSdiF7Hv1y4Etp3c/JBtcfkrQOeA4YGRFN4x1fBX4p6Stk3VqTI+KO\nFo7zfeAaSZcDlwFbA/dKWgOsAf4rVzc/pvJiRHyohX3+OO3nOkkAT0fE8e1479bLeep7MzMrjLu/\nzMysMO7+MusESXOBzZsVfyYiHuqKeMol6TvASc2Kr4uIC7siHus53P1lZmaFcfeXmZkVxknFzMwK\n46RiZmaFcVIxM7PC/H/en565Si9mnQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f3bfb00de80>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "predictionDist(train.TARGET, train.EXT_SOURCE_2, 'EXT_SOURCE_2')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nF7TqAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f3c33ccb128>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "predictionDist(train.TARGET, train.EXT_SOURCE_3, 'EXT_SOURCE_3')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.08072881945686496"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train.TARGET.mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
